﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CapaNegocios;
using CapaUsuario;

namespace CapaUsuario
{
    public partial class FModifPresup : FPlantilla
    {
        private CentroReparacion cRep;
        private Presupuesto p = null;

        public FModifPresup()
        {
            InitializeComponent();
        }

        public FModifPresup(CentroReparacion cR)
        {
            InitializeComponent();
            cRep = cR;
        }

        private void btnGeneral_Click(object sender, EventArgs e)
        {
            tbDescElec.Clear();
            tbIdElect.Clear();
            tbFechaCompra.Clear();
            tbFechaFin.Clear();
            tbLugarCompra.Clear();
            toolStripStatusLabel1.Text = "";

            try
            {
                string id = tbIdPresup.Text.Trim();
                if (id.Length != 0)
                {
                    p = cRep.getPresupuesto(int.Parse(id));
                    //Presupuesto encontrado
                    if (p != null)
                    {

                        tbIdPresup.Enabled = false; // no se puede modificar el Id

                        tbFechaFin.Text = p.FxFinalizacion.ToShortDateString();
                        tbDescElec.Text = p.Electrodomestico.Nombre;
                        tbIdElect.Text = p.Electrodomestico.Id.ToString();
                        tbDatos.Enabled = true;

                        //Presupuesto con Garantia
                        if (p is PresupConGtia)
                        {
                            //Downcasting
                            PresupConGtia pGtia = (PresupConGtia)p;
                            checkGtia.Checked = true;
                            gbGtia.Enabled = true;
                            tbLugarCompra.Text = pGtia.NombreNegocio;
                            tbFechaCompra.Text = pGtia.FechaCompra.ToShortDateString();
                            toolStripStatusLabel1.Text = "Presupuesto con Garantía";
                        }
                        else
                        //Presupuesto sin Garantia
                        {
                            gbGtia.Enabled = false;
                            checkGtia.Checked = false;
                            toolStripStatusLabel1.Text = "Presupuesto sin Garantía";
                        }
                    }
                    else
                    {
                        //No existe el presupuesto
                        tbDatos.Enabled = false;
                        toolStripStatusLabel1.Text = "No existe Presupuesto con el ID suministrado.";
                    }
                }
                tbIdPresup.Focus();

             }
            catch (Exception )
            {
              //  MessageBox.Show(eX.Message);
                toolStripStatusLabel1.Text = "Error al procesar la consulta. Intente nuevamente.";
            }
            
        }

        private void checkGtia_CheckedChanged(object sender, EventArgs e)
        {
            gbGtia.Enabled = !gbGtia.Enabled;
            tbMano.Enabled = !tbMano.Enabled;
        }

        private void btnNueva_Click(object sender, EventArgs e)
        {
            tbDescElec.Clear();
            tbIdElect.Clear();
            tbFechaCompra.Clear();
            tbFechaFin.Clear();
            tbLugarCompra.Clear();
            tbIdPresup.Clear();
            toolStripStatusLabel1.Text = "";
            tbDatos.Enabled = false;
            tbIdPresup.Enabled = true;
        }

        private void btnModif_Click(object sender, EventArgs e)
        {
            Presupuesto presup = p;
            if (presup != null)
            {
                FAgregarRepuestos fAgregar = new FAgregarRepuestos(cRep, p);
                fAgregar.Show();
            }
            else
            {
                toolStripStatusLabel1.Text = "No hay ningún presupuesto seleccionado.";
            }
        }

        private void lblIdPresup_Click(object sender, EventArgs e)
        {

        }

        private void tbDatos_Enter(object sender, EventArgs e)
        {

        }

        private void tbDescElec_TextChanged(object sender, EventArgs e)
        {

        }

        private void btnOk_Click(object sender, EventArgs e)
        {

        }
    }
}
